package com.itheima.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.itheima.pojo.Order;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description 订单持久层访问接口
 * @Author makun
 * @Date 2023/9/19 16:19
 * @Version 1.0
 */
public interface OrderMapper extends BaseMapper<Order> {
    /**
     * 查询预约情况的详细信息
     * @param page
     * @param condition
     * @return
     */
    IPage<Order> selectDetailPage(IPage<Order> page,@Param("condition") Map<String, ?> condition);

    /**
     * 查询本月就诊数量
     * @return
     */
    Integer selectThisMonthVisitsNumber();

    /**
     * 查询本月预约数量
     * @return
     */
    Integer selectThisMonthOrderNumber();

    /**
     * 查询本周就诊数量
     * @return
     */
    Integer selectThisWeekVisitsNumber();

    /**
     * 查询本周预约数量
     * @return
     */
    Integer selectThisWeekOrderNumber();

    /**
     * 查询今天就诊的数量
     * @return
     */
    Integer selectTodayVisitsNumber();

    /**
     * 查询今天的预约数
     * @return
     */
    Integer selectTodayOrderNumber();

    /**
     * 查询某个套餐的订单数量
     * @param setMealId 套餐ID
     * @return 订单数量
     */
    Integer selectCountBySetMealId(Integer setMealId);
}
